﻿#define _CRT_SECURE_NO_WARNINGS
//switch语句

//switch语句可以理解为一种特殊的if-else语句，它⽤于判断条件有多个结果的情况。
//下面是switch语句的基本语法
switch (expression) //这里是switch后面给一个语句
{
case value1: statement//如果输入的值满足第一个式子，就用第一个式子执行
case value2: statement//如果输入的值不满足第一个式子，但是满足第二个式子，就执行第二个式子
	//以此类推
default: statement//如果这个输入的值都不满足上述的约束条件，就执行default语句
	//default的位置没有要求，但是为了书写美观，一般放在最后
}

//注意！
//switch 后的 expression 必须是整型表达式
//case 后的值，必须是整形常量表达式
//另外，char类型在C语言中也是归类到整型中的，因为字符的本质是ASCLL码值，而ASCLL码值是整数

//下面举例子对比if和switch
//输⼊任意⼀个整数值，计算除3之后的余数

//1.用if语句完成如下

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	if (n % 3 == 0)
		printf("整除，余数为0\n");
	else if (n % 3 == 1)
		printf("余数是1\n");
	else
		printf("余数是2\n");
	return 0;
}

//2.用switch语句完成如下

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	switch (n % 3)
	{
	case 0:
		printf("整除，余数为0\n");
		break;//break的作用：break就是打断，case决定入口，break就是结束，因此每句case语句结束后都该跟一个break。
		//但是break的加入是根据实际需求决定的，当多个case代码处理的是同一个逻辑的时候，就可以看情况省略break。
	case 1:
		printf("余数是1\n");
		break;
	case 2:
		printf("余数是2\n");
		break;
	}
	return 0;
}

